package com.jeeplus.modules.guide.mapper;

import com.jeeplus.modules.guide.entity.*;
import com.jeeplus.modules.sys.entity.MobileUserQR;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 *
 */
@Mapper
@Repository
public interface MobileIndexMapper {
    List<Map<String,Object>> getMatterTop(@Param("version")String version);

    /**
     * 事项搜索
     * findMatterList
     * @return 受影响的行数
     */
    List<Map<String,Object>> findMatterList(@Param("label")String label,@Param("version")String version);
    /**
     * 事项搜索
     * findMatterList
     * @return 受影响的行数
     */
    List<Map<String,String>> findZNDBMatterList(@Param("label")String label,@Param("version")String version);

    /**
     * 事项详情
     * getMatterBSZN
     * @return 受影响的行数
     */
    Map<String,Object> getMatterBSZN(@Param("oid")String oid,@Param("version")String version);

    /**
     * 事项英文详情
     * getMatterBSZNEN
     * @return 受影响的行数
     */
    Map<String,Object> getMatterBSZNEN(@Param("oid")String oid,@Param("version")String version);

    /**
     * 获取事项材料
     * getMatterMaterialList
     * @return 受影响的行数
     */
    String getMatterMaterialList (@Param("oid")String oid,@Param("version")String version);

    /**
     * 获取事项办理状态
     * getMatterType
     * @return 受影响的行数
     */
    Map<String,Integer> getMatterType (@Param("oid")String oid,@Param("version")String version);

    /**
     * 获取事项网上办理集合
     * getMatterTypeValue
     * @return 受影响的行数
     */
    List<Map<String,String>> getMatterTypeValue (@Param("oid")String oid,@Param("version")String version);

    /**
     * 获取事项部门
     * getMatterManger
     * @return 受影响的行数
     */
    List<Map<String,String>> getMatterManger (@Param("version")String version);


    /**
     * 获取事项部门事项
     * getMatterMaterialList
     * @return 受影响的行数
     */
    List<Map<String,String>> getMatterMangerList(@Param("version")String version,@Param("organName")String organName);

    /**
     * 获取街道事项部门事项
     * getMatterMaterialList
     * @return 受影响的行数
     */
    List<Map<String,String>> getMatterStreeList(@Param("version")String version,@Param("organName")String organName);


    /**
     * 获取事项层级
     * getMatterLevel
     * @return 受影响的行数
     */
    List<String> getMatterLevel (@Param("version")String version);

    /**
     * 获取事项层级事项集合
     * getMatterLevelList
     * @return 受影响的行数
     */
    List<Map<String,String>> getMatterLevelList (@Param("version")String version,@Param("areaType")String areaType);


    /**
     * 获取热点事项
     * getMatterLevelList
     * @return 受影响的行数
     */
    List<Map<String,String>> getMatterTopList (@Param("version")String version);

    /**
     * 获取事项名称
     * getMatterName
     * @return 受影响的行数
     */
    String getMatterName (@Param("version")String version,@Param("oid")String oid);

    /**
     * 主题事项
     * getMatterItem
     * @return 受影响的行数
     */
    List<Map<String,String>> getMatterItem (String serviceSubject,String serviceLifeCycle,String version);

    /**
     * 获取点位事项
     * findAddrMatterList
     * @return 受影响的行数
     */
    List<Map<String,String>> findAddrMatterList (String areaId,String version);

    /**
     * 获取用户基础信息
     * getUserValueByCode
     * @return 受影响的行数
     */
    MobileUserQR getUserValueByCode(String code);

    /**
     * 老人版事项加载
     * getMatterOld
     * @return 受影响的行数
     */
    List<Map<String,String>> getMatterOld (String version);

    /**
     * 英文版事项加载
     * getMatterEN
     * @return 受影响的行数
     */
    List<Map<String,String>> getMatterEN (String version);

    /**
     * 是否综窗事项
     * findIsHaveDo
     * @return
     */
    String findIsHaveDo(String version,String oid);

    /**
     * 查询第三方网办平台
     * findOtherUrl
     * @return
     */
    String findOtherUrl(String oid,String version);

    /**
     * 是否事项绑定点位
     * isHasArea
     * @return
     */
    Integer isHasArea(String oid);

    /**
     * 是否街道事项
     * isHasArea
     * @return
     */
    String findIsStree(String version,String oid);

    /**
     * 获取群众基础信息
     * isHasArea
     * @return
     */
    Map<String,String> findStreetUser(String loginName);

    /**
     * 获取多个网办地址
     * isHasArea
     * @return
     */
    List<Map<String,String>> getMatterOlineByOid(String version,List<String> list);

    /**
     * 是否有网上地址可办
     * checkOnline
     * @return
     */
    Integer checkOnline(String oid,String version);

    /**
     * 税务获取群众基础信息
     * intoSWHistory
     * @return
     */
    Integer intoSWHistory(String matterName,String matterCode,String matterStatus,String startTime,String endTime,String ids,String gxUserId,String doTime);

    /**
     * 更新税务办件状态
     * updateSWHistory
     * @return
     */
    Integer updateSWHistory(String matterCode,String matterStatus,String endTime,String doTime,String ids,String gxUserId);

    /**
     * 一码办成事统计
     * findYMBCSCount
     * @return
     */
    Integer findYMBCSCount();

    /**
     * 获取高馨办注册及网上取号数 前端
     * gxbListValue
     * @return
     */
    List<Integer> gxbListValueQD(String startTime,String endTime);
    /**
     * 获取高馨办注册及网上取号数
     * gxbListValue
     * @return
     */
    List<Integer> gxbListValue();
    List<Integer> gxbListValueDay();
    List<Integer> gxbListValueWeek();
    List<Integer> gxbListValueMonth();
    List<Integer> gxbListValueThreeMonth();
    List<Integer> gxbListValueYear();
    /**
     * 获取高馨办访问数据
     * gxbListValue
     * @return
     */
    List<Map<String,Object>> gxbVisitValue();
    List<Map<String,Object>> gxbVisitValueMonth();
    List<Map<String,Object>> gxbVisitValueThreeMonth();
    List<Map<String,Object>> gxbVisitValueThreeYear();
    List<Map<String,String>> selectYMBCSList();

    void updateYMBCS(String serviceTime,String typeName,String areaName,String countName,String number,String registerTime,String userId,String id,String areaId);

    Map<String,String> findRegisterTime(String idcard);

    void updateYMBCSCanll(String id);

    List<YmbcsUser> ymbcsUserList();
    List<YmbcsUser> ymbcsUserListDay();
    List<YmbcsUser> ymbcsUserListWeek();
    List<YmbcsUser> ymbcsUserListMonth();
    List<YmbcsUser> ymbcsUserListThreeMonth();
    List<YmbcsUser> ymbcsUserListYear();

    List<YmbcsValue> ymbcsUserValueById(String userId);

    Integer ymbcsMaterialNum(String userId);

    List<Map<String,Object>> ymbcsTypeName();
    List<Map<String,Object>> ymbcsTypeNameDay();
    List<Map<String,Object>> ymbcsTypeNameWeek();
    List<Map<String,Object>> ymbcsTypeNameMonth();
    List<Map<String,Object>> ymbcsTypeNameThreeMonth();
    List<Map<String,Object>> ymbcsTypeNameYear();

    void intoUserZZJ(String name,String idcard,String tell,String doTime,String serviceTime,String typeName,String areaName,String countName,String number,String registerTime,int status,String userId);

    List<Map<String,Object>> matterListLinShi();

    String findListByName(String matterName,String version);

    List<String> ymbcsMaterialNames(String userId);

    Integer delQRById();

    List<MapOffices> mapOfficesList();

    Integer insertCompany(List<Company>  list,String doTime);

    Integer delCompany(String doTime);

    Integer backCompany(String doTime);

    /**
     * 是否不动产事项
     * findMatterManager
     * @return
     */
    String findMatterManager(String oid,String version);

    Integer intoQrcode(String qrcode,String result);

    /**
     * 获取事项网上办理集合
     * getMatterTypeValue
     * @return 受影响的行数
     */
    List<Map<String,String>> getMatterItemOther();
    /**
     * 获取税务政策内容
     * getMatterTypeValue
     * @return 受影响的行数
     */
    List<Map<String,String>> findPolicy();
}
